﻿using LJLib.Net.SPI.Com;
using System.Collections.Generic;
using PhoneUI.Com.Modle;

namespace PhoneUI.Com
{
    public sealed class OADocSaveRequest : ILJTokenRequest<OADocSaveResponse>
    {
        public string token { get; set; }

        // 公文ID 0 新建 1 修改
        public int docid { get; set; }
        // 标题
        public string title { get; set; }
        // 内容
        public string content { get; set; }
        // 备注
        public string dscrp { get; set; }
        // 时限要求
        public string timedscrp { get; set; }
        // 特殊要求
        public string specialdscrp { get; set; }
        // 审批流程ID
        public int flowid { get; set; }
        //  0 保存 1 保存草稿  2 保存发出
        public int savetype { get; set; }
        // 公文类别
        public int dtype { get; set; }
        // 相关号
        public string billcode { get; set; }
        /// <summary>
        /// 相关数值
        /// </summary>
        public double relqty { get; set; }
        /// <summary>
        /// 相关模板编号
        /// </summary>
        public string reldemocode { get; set; }
        /// <summary>
        /// 相关模板ID
        /// </summary>
        public int reldemoid { get; set; }

        #region 审批流程
        /// <summary>
        /// 流程步骤类型(0:固定1:临时2:直接3:自由)
        /// </summary>
        public int flowSortType { get; set; }
        // 步骤排序
        public List<int> flowsort { get; set; }
        /// <summary>
        /// 步骤名称
        /// </summary>
        public List<string> flowstepname { get; set; }
        /// <summary>
        /// 步骤相关人名称
        /// </summary>
        public List<string> flowempstr { get; set; }
        /// <summary>
        /// 步骤相关人ID,如：["1,2,111","78,88"]
        /// </summary>
        public List<string> flowempid { get; set; }

        // 审批描述
        public List<string> flowinfo { get; set; }
        // 审批时限(小时)
        public List<int> limithour { get; set; }
        public List<short> ifnecessary { get; set; }
        public List<short> ifjoin { get; set; }
        #endregion

        #region 附件
        // 附件名
        public List<string> fjname { get; set; }
        // 附件内容
        public List<byte[]> fjdata { get; set; }
        public List<int> fjtype { get; set; }
        // 下载
        public List<int> ifdown { get; set; }
        // 查看
        public List<int> iflook { get; set; }
        // 模板
        public List<int> modelflag { get; set; }
        // 需要取回的附件
        public List<int> getBack { get; set; }
        // 主附件
        public List<int> ifmain { get; set; }
        #endregion

        #region XLS字段
        /// <summary>
        /// XLS字段
        /// </summary>
        public List<XlsItem> items { get; set; }
        #endregion
        public string GetApiName()
        {
            return "OADocSave";
        }
    }

    public sealed class OADocSaveResponse : LJResponse
    {
        public int docid { get; set; }
    }
}